<?php


class Email
{
    /**
     * Gửi email
     * @static
     * @param $to_name Tên người nhận
     * @param $to_address địa chỉ email của người nhận
     * @param $subject tiêu đề email
     * @param $body nội dung email
     * @return null|string null nếu gửi thành công và chuỗi thông báo lỗi nếu thất bại
     */
    public static function send($to_name, $to_address, $subject, $body)
    {
        $mail = new PHPMailer();
        $mail->PluginDir = LIB_DIR;
        $mail->isSMTP();
        $mail->SMTPAuth = true;
        $mail->SMTPSecure = 'ssl';
        $mail->Host = Loader::getConfig('email', 'smtp_host');
        $mail->Port = Loader::getConfig('email', 'smtp_port');

        $mail->Username = Loader::getConfig('email', 'address');
        $mail->Password = Loader::getConfig('email', 'password');

        $mail->From = Loader::getConfig('email', 'address');
        $mail->FromName = Loader::getConfig('email', 'name');
        $mail->Subject = $subject;
        $mail->AltBody = 'Bạn đang email ở chế độ văn bản thuần, xin vui lòng sử dụng chế độ HTML để xem email';
        $mail->WordWrap = 80;

        $mail->MsgHTML($body);

        $mail->AddReplyTo(Loader::getConfig('email', 'address'), Loader::getConfig('email', 'name'));
        $mail->IsHTML(true);

        $mail->AddAddress($to_address, $to_name);

        $mail->XMailer = Loader::getConfig('email', 'x_mailer');

        if (!$mail->Send()) {
            return $mail->ErrorInfo;
        } else {
            return null;
        }

    }
}